// 包声明：声明该类属于com.itheima.loop包，用于组织代码结构
package com.itheima.loop;

// 类定义：定义一个名为ForTest3的公共类
public class ForTest3 {
    // 主方法：程序的入口点，JVM会从这里开始执行代码
    public static void main(String[] args) {
        // 目标：求奇数和。
        // 打印语句：调用sum方法计算1-10的奇数和并输出结果
        System.out.println("1-10的奇数和是：" + sum(10));
        // 打印语句：调用sum2方法计算1-10的奇数和并输出结果（另一种实现方式）
        System.out.println("1-10的奇数和是：" + sum2(10));
    }

    // 方法定义：定义一个名为sum的静态方法，接收一个整数参数n，返回一个整数
    // static表示这是类方法，可以直接通过类名调用；int表示方法返回类型
    public static int sum(int n) {
        // 1、定义变量累加奇数：创建一个int类型的变量sum，初始值为0，用于存储奇数和
        int sum = 0;
        // 2、循环1-n的全部数字：
        // for循环的三要素：
        // 初始化：int i = 1（定义循环变量i，初始值为1）
        // 循环条件：i <= n（只要i小于等于n，就继续循环）
        // 步进表达式：i++（每次循环后i的值加1）
        for (int i = 1; i <= n; i++) {
            // i的取值过程：1,2,3,4,5,6,7,8,9,10
            // 3、判断当前数字是否是奇数：
            // 使用取模运算符%，如果i除以2的余数是1，说明i是奇数
            if (i % 2 == 1) {
                // 4、如果是奇数，累加到sum中：
                // sum += i 等同于 sum = sum + i，将当前奇数加到sum变量中
                sum += i;
            }
        }
        // 5、返回累加结果：将计算好的奇数和返回给调用者
        return sum;
    }

    // 方法定义：定义另一个计算奇数和的方法sum2，使用不同的实现方式
    public static int sum2(int n) {
        // 1、定义变量累加奇数：同样创建sum变量，初始值为0
        int sum = 0;
        // 2、循环1-n的奇数：
        // 这里使用更高效的方式，直接让i每次增加2，这样i只会取到奇数
        // i的初始值为1，每次循环后i += 2（i = i + 2）
        for (int i = 1; i <= n; i += 2) {
            // i的取值过程：1,3,5,7,9
            // 3、累加到sum中：由于i已经是奇数，直接累加即可
            sum += i;
        }
        // 5、返回累加结果：返回计算好的奇数和
        return sum;
    }

}
